<?php
/**
 * Description of CUtilitario_conta
 * @author calixto
 */
class CUtilitario_conta extends controle{
	public function inicial(){
		$xml = simplexml_load_file('contas.xml');
		$contas = array();
		foreach($xml->xpath('/gnc-v2/gnc-account') as  $conta){
			$indice = "[".str_replace('-',"][",$conta->{'act-code'})."]";
			$codigo = (string)$conta->{'act-code'};
			$pai = $this->pai($codigo);
			$nome = (string)$conta->{'act-name'};
			$arConta[]= array('cod'=>$codigo,'pai'=>$pai,'nome'=>$nome);
		}
		array_shift($arConta);
		foreach($arConta as $conta){
			$esquerda = 0;
			if($conta['pai']){
				$nContaPai = new NConta();
				$nContaPai->lerPorNumero($conta['pai']);
				$esquerda = $nContaPai->pegarDireita() ? $nContaPai->pegarDireita() -1 : 0 ;
			}
			if(!$esquerda){
				$nUltimaConta = new NConta();
				$esquerda = $nUltimaConta->maxDireita();
			}
			$nConta = new NConta();
			$nConta->passarNome($conta['nome']);
			$nConta->passarNumero($conta['cod']);
			$nConta->passarEsquerda($esquerda);
			$nConta->gravar();
		}
	}
	function pai($codigo){
		$arCodigo = explode('-',$codigo);
		if(count($arCodigo)>1){
			array_pop($arCodigo);
			$codigo = implode('-',$arCodigo);
		}else{
			$codigo = '';
		}
		return $codigo;
	}
}
?>
